Service providers typically offer numerous voice and data services to end users of mobile devices. Some examples of voice services are voice calls, call forwarding, call waiting, etc. Some examples of data services are Internet access, streaming audio, streaming video, online gaming, Internet Protocol television (IP-TV), etc.
The first types of wireless or mobile networks that were introduced by service providers were First Generation (1G) and Second Generation (2G) networks. 1G networks provided voice services via analog signals, and then evolved into 2G networks that provided voice services via digital signals. Mobile communications then evolved into 3G (including 2.5G) networks that provided both voice services and data services. For example, 3G networks are able to provide wireless voice telephony, as well as data services such as Internet access, video calls, mobile TV, etc. Some of the 3G networks implemented by service providers were Universal Mobile Telecommunications System (UMTS) networks, Enhanced Voice Data Optimized (EV-DO) networks, General Packet Radio Service (GPRS) networks, etc. Service providers are now beginning to migrate their networks toward Fourth Generation (4G) technologies over Packet-Switched (PS) networks. 4G networks are essentially enhancements to 3G networks in terms of data speeds. For example, a 3G network can provide data speeds of about 3.5 Mbit/sec. According to the International Telecommunication Union (ITU), a 4G network can provide data speeds of 100 Mbit/sec. One example of a 4G network is a Long Term Evolution (LTE) network.
When a mobile device initiates a session over a PS network (e.g., an IP Connectivity Access Network (IP-CAN) session), the session request from the mobile device includes a description of the requested service (e.g., online gaming, IP-TV, etc). The PS network authenticates the mobile device and determines which services the mobile device is authorized to receive. If the requested service is authorized, then the PS network reserves a bearer path (e.g., an IP-CAN bearer) of a defined capacity, delay, and bit error rate over a selected Packet Data Network (PDN). A flow of packets may then begin for the service, which is referred to as a packet flow, a data flow, or a service data flow (SDF) over the PDN.
The network operators implement Policy and Charging Control (PCC) within their networks to control how services are provided to the end users. Policy control refers to the process of controlling the bearer path for service data flows, such as for bearer establishment, Quality of Service (QoS) control, and gating control (blocking or allowing packets to pass). Charging control refers to the process of associating packets of a service data flow to a charging key or identifier, and applying online charging and/or offline charging as appropriate.
The 3rd Generation Partnership Project (3GPP, 3GPP2) has defined a PCC architecture for PS-core networks. One example of a PCC architecture is described in 3GPP TS 23.203 (Release 9). The PCC architecture suggested by the 3GPP includes a Policy and Charging Rules Function (PCRF), a PDN gateway comprising a Policy and Charging Enforcement Function (PCEF), an application function (AF), a Bearer Binding and Event Reporting Function (BBERF), a Home Subscriber Server (HSS)/Subscription Profile Repository (SPR), an Online Charging System (OCS), and an Offline Charging System (OFCS). As a brief description of some of the elements of the PCC architecture, the PCRF makes policy control decisions to select which PCC rules to implement for a service data flow. The PCEF in the gateway provides service data flow detection, user plane traffic handling, QoS handling, service data flow measurement, and online/offline charging interactions. The HSS/SPR stores subscriber data and subscription-related information for end users, such as in subscriber profiles.
The PCRF in the PCC architecture makes a PCC decision when an end user requests a service. Presently, the PCRF makes the PCC decision based on a predefined set of policy rules and charging rules for the end user that are set out in his/her service plan. This unfortunately does not allow for much flexibility in making a PCC decision when new services are applied to a service data flow.